package com.ruoyi.system.mapper;

import com.ruoyi.system.domain.MaterialFour;
import com.ruoyi.system.domain.MaterialTwo;
import com.ruoyi.system.domain.Materialdetails;
import com.ruoyi.system.domain.Warehouse;

import java.util.HashMap;
import java.util.List;
import java.util.Map;


/**
 * 仓库Mapper接口
 * 
 * @author ruoyi
 * @date 2020-12-14
 */
public interface WarehouseMapper 
{
    /**
     * 查询仓库
     * 
     * @param wid 仓库ID
     * @return 仓库
     */
    public Warehouse selectWarehouseById(Long wid);

    /**
     * 查询仓库列表
     * 
     * @param warehouse 仓库
     * @return 仓库集合
     */
    public List<Warehouse> selectWarehouseList(Warehouse warehouse);

    public List<Warehouse> quryWarehouseList();
    /**
     * 查询仓库操作明细
     *
     * @return 仓库集合
     */
    public List<MaterialFour> warehouserecordlist(HashMap<String,Object> map);

    /**
     * 新增仓库
     * 
     * @param warehouse 仓库
     * @return 结果
     */
    public int insertWarehouse(Warehouse warehouse);

    /**
     * 修改仓库
     * 
     * @param warehouse 仓库
     * @return 结果
     */
    public int updateWarehouse(Warehouse warehouse);

    /**
     * 删除仓库
     * 
     * @param wid 仓库ID
     * @return 结果
     */
    public int deleteWarehouseById(Long wid);
    /**
     * 仓库内是否有材料
     *
     * @param wid 仓库ID
     * @return 结果
     */
    public int selectMateialCount(Long wid);
    /**
     * 仓库内是否有材料
     *
     * @param wid 仓库ID
     * @return 结果
     */
    public int selectWarehouseCount(String wName);

    /**
     * 计算仓库价值
     *
     * @param wid 仓库ID
     * @return 结果
     */
    public List<Materialdetails> querymoney(Long wid);
    /**
     * 查询仓库材料明细记录
     *
     * @param  map
     * @return 材料集合
     */
    public List<MaterialTwo> selectMaterialList(HashMap<String,Object> map);
    int updateMdType(Map map);
}
